Bounded Space Programming using Finite State Machines and Recursive Functions: the Hume Approach
نویسندگان
چکیده
Software engineering involves matching abstract software requirements to concrete implementations. Programming at a high-level of abstraction improves confidence in the correctness of functional requirements and reduces the cost of constructing software, but loses confidence in the correctness of behavioural requirements. This is especially serious for resource-constrained systems, such as real-time embedded or control systems, where tight runtime bounds must be maintained on both space and time behaviour. This paper describes Hume: a novel programming language based on a combination of finite state machine and recursive programming constructs. Hume is unusual in being structured as a series of levels, each of which exposes different machine properties. The paper provides a series of determinate cost models for the different Hume levels, and shows how Hume programs can be refactored to lower levels. In this way, appropriate programming abstractions can be chosen, without compromising on program properties such as costability.
منابع مشابه
FSM-Hume is finite state
Hume is a domain-specific programming language targeting resourcebounded computations. It is based on generalised concurrent bounded automata, controlled by transitions characterised by pattern matching on inputs and recursive function generation of outputs. Here we discuss the design of FSM-Hume, a strict finite state subset of Hume, and suggest that it is indeed classically finite state.
متن کاملExploiting Purely Functional Programming to Obtain Bounded Resource Behaviour: The Hume Approach
This chapter describes Hume: a functionally-based language for programming with bounded resource usage, including time and space properties. The purpose of the Hume language design is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. It is unusual in being based on a combination of λ-calculus and finite state machi...
متن کاملA Representation Theorem for Primitive Recursive Algorithms
We formalize the algorithms computing primitive recursive (PR) functions as the abstract state machines (ASMs) whose running length is computable by a PR function. Then we show that there exists a programming language (implementing only PR functions) by which it is possible to implement any one of the previously defined algorithms for the PR functions in such a way that their complexity is pres...
متن کاملFinite time stabilization of time-delay nonlinear systems with uncertainty and time-varying delay
In this paper, the problem of finite-time stability and finite-time stabilization for a specific class of dynamical systems with nonlinear functions in the presence time-varying delay and norm-bounded uncertainty terms is investigated. Nonlinear functions are considered to satisfy the Lipchitz conditions. At first, sufficient conditions to guarantee the finite-time stability for time-delay nonl...
متن کاملPrimitive Recursion and State Machines
Methods for specifying Moore type state machines (transducers) abstractly via primitive recursive functions and for definining parallel composition via simultaneous primitive recursion are discussed. The method is mostly of interest as a concise and convenient way of working with the complex state systems found in computer programming and engineering, but a short section indicates connections t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006